觸發器是時序邏輯電路的基本構成單元,按功能不同可分為 RS 觸發器、 JK 觸發器、 D 觸發器及 T 觸發器四種,其功能的描述可以使用功能真值表、激勵表、狀態圖及特性方程。只要增加門電路便可以實現不同功能觸發器的相互轉換,例如要將 D 觸發器轉換為 JK 觸發器,轉換的關鍵是推導出 D 觸發器的輸入端 D 與 JK 觸發器的輸入端J 、 K 及狀態輸出端 Qn 的邏輯表達式,然后用門電路去實現該邏輯表達式。具體的設計方法有公式法和圖表法兩種。
給定n個整數a , a , ,an 1 2 組成的序列。序列中元素i a 的符號定義為:
ï î
ï í
ì
- <
=
>
=
1 0
0 0
1 0
sgn( )
i
i
i
i
a
a
a
a
符號平衡問題要求給定序列的最長符號平衡段的長度L,即:
þ ý ü
î í ì
= + - = å
=
£ £ £
max 1| sgn( ) 0
1
j
k i
i j n k
L j i a 。
例如,當n=10,相應序列為:1,1,-1,-2,0,1,3,-1,2,-1 時,L=9。
function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta)
%[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta)
%該函數用有限差分法求解有兩種介質的正方形區域的二維拉普拉斯方程的數值解
%函數返回迭代因子、迭代次數以及迭代完成后所求區域內網格節點處的值
%a為正方形求解區域的邊長
%r1,r2分別表示兩種介質的電導率
%up,under分別為上下邊界值
%num表示將區域每邊的網格剖分個數
%deta為迭代過程中所允許的相對誤差限
n=num+1; %每邊節點數
U(n,n)=0; %節點處數值矩陣
N=0; %迭代次數初值
alpha=2/(1+sin(pi/num));%超松弛迭代因子
k=r1/r2; %兩介質電導率之比
U(1,1:n)=up; %求解區域上邊界第一類邊界條件
U(n,1:n)=under; %求解區域下邊界第一類邊界條件
U(2:num,1)=0;U(2:num,n)=0;
for i=2:num
U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對上下邊界之間的節點賦迭代初值
end
G=1;
while G>0 %迭代條件:不滿足相對誤差限要求的節點數目G不為零
Un=U; %完成第n次迭代后所有節點處的值
G=0; %每完成一次迭代將不滿足相對誤差限要求的節點數目歸零
for j=1:n
for i=2:num
U1=U(i,j); %第n次迭代時網格節點處的值
if j==1 %第n+1次迭代左邊界第二類邊界條件
U(i,j)=1/4*(2*U(i,j+1)+U(i-1,j)+U(i+1,j));
end
if (j>1)&&(j U2=1/4*(U(i,j+1)+ U(i-1,j)+ U(i,j-1)+ U(i+1,j));
U(i,j)=U1+alpha*(U2-U1); %引入超松弛迭代因子后的網格節點處的值
end
if i==n+1-j %第n+1次迭代兩介質分界面(與網格對角線重合)第二類邊界條件
U(i,j)=1/4*(2/(1+k)*(U(i,j+1)+U(i+1,j))+2*k/(1+k)*(U(i-1,j)+U(i,j-1)));
end
if j==n %第n+1次迭代右邊界第二類邊界條件
U(i,n)=1/4*(2*U(i,j-1)+U(i-1,j)+U(i+1,j));
end
end
end
N=N+1 %顯示迭代次數
Un1=U; %完成第n+1次迭代后所有節點處的值
err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節點值的相對誤差
err(1,1:n)=0; %上邊界節點相對誤差置零
err(n,1:n)=0; %下邊界節點相對誤差置零
G=sum(sum(err>deta))%顯示每次迭代后不滿足相對誤差限要求的節點數目G
end
function y=lagr(x0,y0,x)
%x0,y0為節點
%x是插值點
n=length(x0);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end